Collection, maintenance and access to information are critical to numerous organizations including businesses, educational institutions, government agencies and the like. Typically, such organizations utilize databases to maintain and organize information. Databases are designed to store data to facilitate retrieval of relevant information in response to queries. For example, organizational databases can maintain customer information, employee records, product information, inventory and the like. Such databases can contain vast amounts of data including millions of individual data records and requiring significant storage to maintain.
The structure or organization of databases can be described in a plan or schema. There are several different types of schemas, including the relational type, where data is maintained in a set of tables that include relationships among the tables. Each table of a database includes a set of records with one or more data fields. For example, a database for a retail company can include a customer information table, where each record of the table represents a customer and the various fields of the record include customer name, address, credit information and most recent purchase information. Records within a table are also referred to as rows and fields can be referred to as columns. Relational databases are able to represent relationships between fields within separate tables, facilitating the retrieval of relevant information. Data can be retrieved from the set of tables based upon user-defined queries. Efficient design of the tables and their relationships can greatly increase the speed of data retrieval.
Maintenance, enhancement and modification of such databases can be challenging. Records or rows may be constantly updated, added and deleted. For example, customer data could be updated based upon new purchases, addition of new customers or, perhaps less frequently, removal of customers. In addition, as organizations or businesses change and grow over time, data requirements change. Consequently, fields or columns may be added, updated or deleted and/or relationships between tables may change. Maintenance of large databases requires constant modifications.
Database design and maintenance is an important and complex task, requiring a level of expertise. Frequently, organizations utilize outside experts to design and provide support for such databases. However, databases can contain critical and confidential data for the organization. Obtaining adequate database support while maintaining control over confidential information can be problematic.